#pragma once

#include "Context.h"
#include "MooseObject.h"
#include "Coupleable.h"
#include "FunctionInterface.h"
#include "UserObjectInterface.h"
#include "Restartable.h"
#include "BlockRestrictable.h"
#include "DependencyResolverInterface.h"
#include "BoundaryRestrictable.h"
#include "MooseTypes.h"
//#include "MemberTemplateMacros.h"

class Worklet :
	public MooseObject,
	public FunctionInterface,
	public Restartable
{
public:
	Worklet(const InputParameters& parameters);
	virtual ~Worklet();
	
	void operator()(const Context& ctx);
private:

};

template<>
InputParameters validParams<Worklet>();